public class test03 {

    //    求和的重载


    //        在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码，求出结果
//    public static int add(int a,int b) {
//        return  a + b;
//    }
//
//    public static double add(double a,double b,double c) {
//        return a + b + c;
//    }


//    求最大值方法的重载


//    在同一个类中定义多个方法：要求不仅可以求2个整数的最大值，还可以求3个小数的最大值？

//    public static int intMax(int a,int b) {
//        if (a > b) {
//            return a;
//        } else if (a < b) {
//            return b;
//        } else {
//            System.out.println("a==b");
//            return b;
//        }
//    }
//
//    public static double doubleMax(double a,double b,double c) {
//        if (a > b) {
//            if (a > c) {
//                return a;
//            } else {
//                return  c;
//            }
//        } else {
//            if (b > c) {
//                return b;
//            } else {
//                return c;
//            }
//        }
//    }

//    递归求 N 的阶乘
    public static int fun(int n) {
        if (n == 1) {
            return 1;
        } else {
            return n * fun(n-1);
        }

    }

    public static void main(String[] args) {

//        在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码，求出结果
//        int ret = add(1, 2);
//        double ret2 = add(1.0, 2.0, 3.0);
//        System.out.println(ret);
//        System.out.println(ret2);


//        在同一个类中定义多个方法：要求不仅可以求2个整数的最大值，还可以求3个小数的最大值？
//        int ret = intMax(1,2);
//        double ret2 = doubleMax(1.0,2.0,3.0);
//        System.out.println(ret);
//        System.out.println(ret2);

//        递归求 N 的阶乘

        int n = 5;
        int ret = fun(n);
        System.out.println(n + "的阶乘是" + ret);

    }

}